<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class Magasinier extends CI_Controller {

    public function __construct() {
        parent::__construct();
        if (!isset($this->session->userdata['utilisateur_id']))
            exit('No direct script access allowed');
    }

    public function index() {
        page('Magasinier/index', 'Magasinier', null);
    }
    
    public function Familles() {
        $crud = new grocery_CRUD();

        $crud->set_table('t_prod_type')
             ->set_subject('une famille')
             ->columns( 'prod_type_libelle', 'prod_type_racine')                
                
             ->callback_column('prod_type_actif', array($this, 'Image_actif'))
                
             ->display_as('prod_type_libelle', 'Famille de produit')
             ->display_as('prod_type_racine', 'Racine')                                             
                
             ->fields('prod_type_libelle', 'prod_type_racine')               
                
             ->required_fields('prod_type_libelle', 'prod_type_racine');

        $crud->order_by('t_prod_type.prod_type_libelle', 'ASC');
        
        $output = $crud->render();

        page('Crud/crud', 'Famille de Produits', $output);
        //print_r($output);
    }

    public function Produits() {
        $crud = new grocery_CRUD();

        $crud->set_table('t_produit')
             ->set_subject('un produit')
             ->columns( 'prod_type_id', 'produit_libelle', 'produit_code', 'produit_prix', 'produit_actif')
                
             // N_N: la "nomenclature_quantite" n'est pas prise en compte...à voir !
             ->set_relation_n_n('nomenclature', 'a_nomenclature', 't_produit', 't_p_produit_id', 'produit_id', 'produit_libelle', 'nomenclature_quantite')
                
             ->set_relation('tva_id', 't_tva', 'tva_taux')                
             ->set_relation('prod_type_id', 't_prod_type', 'prod_type_libelle')               
                
             ->callback_column('produit_actif', array($this, 'Image_actif'))
                
             ->display_as('tva_id', 'TVA (%)')
             ->display_as('prod_type_id', 'Famille')                                             
             ->display_as('produit_libelle', 'Nom')
             ->display_as('produit_code', 'Code')
             ->display_as('produit_quantite_stock', 'Quantité (U)')
             ->display_as('produit_temps', 'Temps (H)')
             ->display_as('produit_prix', 'Prix (€)')
             ->display_as('produit_qte_mini', 'Quantité minimum (U)')
             ->display_as('produit_emplacement', 'Emplacement')
             ->display_as('produit_actif', 'Actif')
                
             ->fields('prod_type_id', 'produit_libelle','produit_code', 'nomenclature',                        
                      'tva_id', 'produit_quantite_stock', 'produit_temps',
                      'produit_prix', 'produit_qte_mini', 'produit_emplacement','produit_actif')               
                
             ->required_fields('prod_type_id', 'produit_libelle', 'produit_code', 'tva_id', 'produit_qte_mini');
        
        $crud->add_action('Imprimer le code barre du produit', site_url('assets/img/code-barre.png'), 'pdfPrinterCodeBarre/codeBarre');
        
        $crud->order_by('t_produit.produit_libelle', 'ASC');
        
        $output = $crud->render();

        page('Crud/crud', 'Gestion des Produits', $output);
        //print_r($output);
    }
    
    public function Expeditions() {
        // TODO
    }
    
    // Placer cette function dans un fichier externe genre : functions.inc.php
    function Image_actif($value, $row) {
        if ($value == 't')
            return '<IMG SRC="' . base_url() . 'assets/img/ok.png" ALT="Actif" TITLE="Actif">';
        else if ($value == 'f')
            return '<IMG SRC="' . base_url() . 'assets/img/nok.png" ALT="Non actif" TITLE="Non actif">';
        else
            return '<IMG SRC="' . base_url() . 'assets/img/nok.png" ALT="Non actif" TITLE="Non actif">';
    }

}